package main

import "fmt"

/*
给定一个包含 [0, n] 中 n 个数的数组 nums
找出 [0, n] 这个范围内没有出现在数组中的那个数

示例 1：
输入：nums = [3,0,1]
输出：2
解释：n = 3，因为有 3 个数字，所以所有的数字都在范围 [0,3] 内。2 是丢失的数字，因为它没有出现在 nums 中。
*/

func missingNumber(nums []int) int { // 求和相减即可求出缺失的数
	length := len(nums)
	sum1, sum2 := length, 0
	for i := 0; i < length; i++ {
		sum1 += i
		sum2 += nums[i]
	}
	return sum1 - sum2
}

func main() {
	sli := []int{3, 0, 1}
	fmt.Println(missingNumber(sli))
}
